]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
switcherPopup: Select correct item after removal of item
authorJonas Dreßler <verdre@v0yd.nl>
Wed, 25 Apr 2018 22:32:57 +0000 (00:32 +0200)
committerFlorian Müllner <florian.muellner@gmail.com>
Wed, 26 Feb 2020 22:46:51 +0000 (22:46 +0000)
If an item was removed, make sure the selected item is still selected or
select the last one if the selected item was removed.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167

js/ui/switcherPopup.js

index 49b99dd18c70d82d85d4c08ffd2ab268eaeff6c0..5f2839cf2c71fa91bda8ce4dacb8bc7f6ddf4dbd 100644 (file)
@@ -255,7 +255,15 @@ var SwitcherPopup = GObject.registerClass({
 
     _itemRemovedHandler(n) {
         if (this._items.length > 0) {
-            let newIndex = Math.min(n, this._items.length - 1);
+            let newIndex;
+
+            if (n < this._selectedIndex)
+                newIndex = this._selectedIndex - 1;
+            else if (n === this._selectedIndex)
+                newIndex = Math.min(n, this._items.length - 1);
+            else if (n > this._selectedIndex)
+                return; // No need to select something new in this case
+
             this._select(newIndex);
         } else {
             this.fadeAndDestroy();